// 列表页面分页混入

export default {
    data() {
        return {
            // 搜索参数
            params: {
                // 搜索字符串
                search: '',
                // 时间范围
                rangeTime: '',
                // 通用id
                id: '',
            },
            // 分页参数
            page: {
                // 当前页
                current: 1,
                // 每页数
                size: 10,
                // 总数
                total: 0,
                // 数据
                records: []
            },
            // 加载数据loading
            dataListLoading: false,
            // 搜索栏options
            searchBarOptions: {},
        }
    },
    created() {
        this.page.current = this.$cache.get('pageNums') ?
            this.$cache.get('pageNums') :
            1
        this.page.size = this.$cache.get('pageSizes') ?
            this.$cache.get('pageSizes') :
            10
        this.params = this.$cache.get('searchParams') ?
            this.$cache.get('searchParams') :
            this.params
    },
    methods: {
        // 搜索/重置
        search(reset, params) {
            // 如果存在传入的参数则合并数据
            if (params) {
                Object.assign(this.params, params)
            }
            // console.log('search', reset, this.params)
            // 是否重置
            if (reset) {
                this.params = this.$options.data.call(this).params
                // this.$nextTick(() => this.params = this.$options.data.call(this).params)
            }
            this.page = this.$options.data.call(this).page
            this.getPage()
        },
        // 每页数
        changePageSize(val) {
            this.page.size = val
            this.page.current = 1
            this.getPage()
        },
        // 当前页
        changePageNum(val) {
            this.page.current = val
            this.getPage()
        },
    },
}